<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">


    <f:metadata>
        <f:event type="preRenderView" listener="#{sessionManaged.validar_session('wfrmRoles')}" />
    </f:metadata>
    <body>

        <ui:composition template="./../../../template.xhtml">

            <ui:define name="main_content">
                <ui:include src="/web-pages/SEGURIDAD/HELP/wfrmHelp_Roles.xhtml">
                    <ui:param name="toolBarWidth" value="1000"/>
                    <ui:param name="toolBarTitleWidth" value="950"/>
                    <ui:param name="title" value="Roles por Usuario"/>
                </ui:include>

                <div align="left">
                    <p:panel header="Informaci&oacute;n Roles por Usuario" style="width: 1000px">
                        <h:form id="mensaje">
                            <p:growl id="gMensaje" life="1000"/>
                        </h:form>
                        <h:form id="roles1">
                            <p:panel header="Datos de Usuario" style="width: inherit" toggleable="true">
                                <f:facet name="header">
                                    <h:outputText value="Datos de Usuario" />
                                    <p:commandButton image="ui-icon ui-icon-search" onclick="dialogBuscarEmpleado.show()"/>
                                </f:facet>
                                <h:panelGrid id="pEmpleado" columns="6">
                                    <h:outputText value="&Aacute;rea" /><p:inputText value="#{rolesManaged.selectedEmpleado.nombre_a}" style="width: 175px" readonly="true" />
                                    <h:outputText value="Cargo" /><p:inputText value="#{rolesManaged.selectedEmpleado.nombre_c}" style="width: 175px" readonly="true" />
                                    <h:outputText value="Nombre" /><p:inputText value="#{rolesManaged.selectedEmpleado.nombreCompleto}" style="width: 250px" readonly="true" />
                                </h:panelGrid>
                            </p:panel>
                        </h:form>

                        <br/>

                        <h:form id="roles2">
                            <p:panel header="PERMISOS ESPECIALES" style="width: inherit" toggleable="true">
                                <f:facet name="header">
                                    <h:outputText value="PERMISOS ESPECIALES"/>

                                    <p:spacer width="50" height="10"/>
                                    <h:selectBooleanCheckbox value="#{rolesManaged.selectedRol.all_modulos}" />
                                    <h:outputText value="Seleccionar Todos los M&oacute;dulos"/>
                                </f:facet>

                                <h:panelGrid id="pPermisosEspecial" columns="14">
                                    <h:outputText value="M&oacute;dulo"/>
                                    <h:selectOneMenu value="#{rolesManaged.selectedRol.codigo_m}" style="width: 250px">
                                        <f:selectItems value="#{rolesManaged.modulos}" var="cmbModulo" itemLabel="#{cmbModulo.nombre_m}" itemValue="#{cmbModulo.codigo_m}" />
                                    </h:selectOneMenu>

                                    <h:outputText value="Agregar"/>
                                    <h:selectBooleanCheckbox value="#{rolesManaged.selectedRol.agregar_all_r}" style="width: 15px" />

                                    <h:outputText value="Modificar"/>
                                    <h:selectBooleanCheckbox value="#{rolesManaged.selectedRol.modificar_all_r}" style="width: 15px" />

                                    <h:outputText value="Buscar"/>
                                    <h:selectBooleanCheckbox value="#{rolesManaged.selectedRol.buscar_all_r}" style="width: 15px" />

                                    <h:outputText value="Eliminar"/>
                                    <h:selectBooleanCheckbox value="#{rolesManaged.selectedRol.eliminar_all_r}" style="width: 15px" />

                                    <h:outputText value="Reporte"/>
                                    <h:selectBooleanCheckbox value="#{rolesManaged.selectedRol.reporte_all_r}" style="width: 15px" />

                                    <h:outputText value="Visible"/>
                                    <h:selectBooleanCheckbox value="#{rolesManaged.selectedRol.visible_all_r}" style="width: 15px" />
                                </h:panelGrid>

                                <center>
                                    <h:panelGrid id="cmdButtones" columns="3" cellpadding="5" style="width:inherit">
                                        <p:commandButton value="#{sms.guardar}" onclick="cmdConfirm.show()" image="ui-icon ui-icon-check" />
                                        <p:commandButton value="#{sms.limpiar}" actionListener="#{limpiarManaged.limpiar}" update="roles1 roles2:pPermisosEspecial grid" />
                                        <p:commandButton value="Reparar Roles" actionListener="#{rolesManaged.setUsuarios_x_Formulario_Roles}" update="mensaje" />
                                        <p:confirmDialog message="#{sms.iAlmacenada}" header="#{sms.guardar}" severity="alert" widgetVar="cmdConfirm">
                                            <p:commandButton value="Si" actionListener="#{rolesManaged.completeTransaccion}" oncomplete="cmdConfirm.hide()" update="grid mensaje"/>
                                            <p:commandButton value="No" onclick="cmdConfirm.hide()"/>
                                        </p:confirmDialog>
                                    </h:panelGrid>
                                </center>
                            </p:panel>
                        </h:form>

                        <h:form id="grid">
                            <p:dataTable id="table" value="#{rolesManaged.roles}" var="row" rows="15"
                                         paginator="true" paginatorPosition="bottom" selectionMode="single" selection="#{rolesManaged.selectedRoles}"
                                         emptyMessage="#{sms.TableEmptyMessage}" >
                                <f:facet name="header">
                                    <h:outputText value="Lista de Roles por Usuario"/>
                                </f:facet>
                                <p:column headerText="M&oacute;dulo" filterBy="#{row.modulo.nombre_m}" filterMatchMode="contains" style="width: 200px">
                                    <h:outputText value="#{row.modulo.nombre_m}" />
                                </p:column>
                                <p:column headerText="Formulario" filterBy="#{row.formulario.nombre_f}" filterMatchMode="contains" style="width: 400px">
                                    <h:outputText value="#{row.formulario.nombre_f}"/>
                                </p:column>

                                <p:column headerText="Agregar" style="width: 50px" >
                                    <h:selectBooleanCheckbox id="agregar" value="#{row.agregar_r}" style="width: 50px">
                                        <p:ajax listener="#{rolesManaged.selectAllChanges(row)}" update="mensaje" />
                                    </h:selectBooleanCheckbox>
                                </p:column>

                                <p:column headerText="Modificar" style="width: 50px">
                                    <h:selectBooleanCheckbox  id="modificar" value="#{row.modificar_r}" style="width: 50px">
                                        <f:selectItems value="#{row.modificar_r}" />
                                        <p:ajax listener="#{rolesManaged.selectAllChanges(row)}" update="mensaje" />
                                    </h:selectBooleanCheckbox>
                                </p:column>
                                <p:column headerText="Buscar" style="width: 50px">
                                    <h:selectBooleanCheckbox id="buscar" value="#{row.buscar_r}" style="width: 50px">
                                        <f:selectItems value="#{row.buscar_r}" />
                                        <p:ajax listener="#{rolesManaged.selectAllChanges(row)}" update="mensaje" />
                                    </h:selectBooleanCheckbox>
                                </p:column>
                                <p:column headerText="Visible" style="width: 50px">
                                    <h:selectBooleanCheckbox id="visible" value="#{row.visible_r}" style="width: 50px">
                                        <f:selectItems value="#{row.visible_r}" />
                                        <p:ajax listener="#{rolesManaged.selectAllChanges(row)}" update="mensaje" />
                                    </h:selectBooleanCheckbox>
                                </p:column>
                                <p:column headerText="Eliminar" style="width: 50px">
                                    <h:selectBooleanCheckbox id="eliminar" value="#{row.eliminar_r}" style="width: 50px" >
                                        <p:ajax listener="#{rolesManaged.selectAllChanges(row)}" update="mensaje" />
                                    </h:selectBooleanCheckbox>
                                </p:column>
                                <p:column headerText="Reporte" style="width: 50px">
                                    <h:selectBooleanCheckbox id="reporte" value="#{row.reporte_r}" style="width: 50px" >
                                        <p:ajax listener="#{rolesManaged.selectAllChanges(row)}" update="mensaje" />
                                    </h:selectBooleanCheckbox>
                                </p:column>
                            </p:dataTable>
                        </h:form>

                        <ui:include src="/web-pages/RRHH/QUICK/wfrmquick_Empleado.xhtml">
                            <ui:param name="Bean" value="#{rolesManaged}"/>
                            <ui:param name="dataTableList" value="#{empleadoQuickManaged.empleados_Roles}"/>
                            <ui:param name="parametroUpdate" value="roles1 grid mensaje"/>
                        </ui:include>
                    </p:panel>
                </div>
            </ui:define>

        </ui:composition>

    </body>
</html>